// pages/add/add.js
//引入 utils中封装好的 日期时间的格式
const myTime = require("../../utils/util.js");

Page({

  /**
   * 页面的初始数据
   */
  data: {
    content:'',//接收input框中的数据的变量
    time:'',//创建这条日志的时间
    id:0
  },
  //保存从input框传过来的数据
  saveText: function(ev){
    console.log(ev.detail.value);
    //将数据保存到 content
    this.setData({
      content:ev.detail.value
    });
  },

  //sureFunc点击确定按钮后触发的函数
  /*
  1.验证input框中是否有内容
  2.添加日志的创建时间
  3.将数据保存到storage
  4.跳转页面到list
  */
  sureFunc:function(){
    //1.验证
    const content = this.data.content.trim();
    const re = /^\s$/;//匹配所有的空白符
    if(!content || re.test(content)){//判断是否为空
        return ;
    }
    console.log(myTime);
    //console.log(myTime.formatTime(new Date()));
    //2.添加创建时间
    this.setData({
      time:myTime.formatTime(new Date())

    })
    //3.将数据存到缓存中
    setValue(this);
    //4.将页面跳转到列表
    wx.navigateBack();
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);
    if(options.id){//修改操作
      this.setData({
        id:options.id
      });
      //根据id获取相应的数据，保存到data中，将content渲染到input
      getValue(this,options.id);
    }else{//新增
      this.setData({
        id:new Date().getTime()
      })
    }
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  }
})

//保存到缓存
function setValue(page){
  console.log(page);
  let arr = wx.getStorageSync('note');
  let data = [];
  let flag = true;//true 添加 false 修改
  if(arr.length){
    arr.forEach(item=>{
      console.log(item.id,page.data.id);
      if(item.id == page.data.id){//找到了修改的那一条记录
        item.id = page.data.id;
        item.content = page.data.content;
        item.time = myTime.formatTime(new Date());
        flag = false;
      }
      data.push(item);
    })
  }

  if(flag){
    data.push(page.data);
  }
  //将data的数据保存到缓存
  wx.setStorageSync('note', data)
}

//根据id号获取数据
function getValue(page,id){
  var value = wx.getStorageSync('note');
  if(value.length){
    value.forEach(item=>{
      if(item.id === parseInt(id)){
        page.setData({
          id:item.id,
          content:item.content
        })
      }
    })
  }


}